package com.tuozixuan.spring6.validation.method4;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

public class CannotBlankValidator implements ConstraintValidator<CannotBlank, String> {

	@Override
	public void initialize(CannotBlank constraintAnnotation) {
	}

	@Override
	public boolean isValid(String value, ConstraintValidatorContext context) {
		// null时不进行校验
		if (value != null && value.contains(" ")) {
			// 获取默认提示信息
			String defaultConstraintMessageTemplate = context.getDefaultConstraintMessageTemplate();
			System.out.println("default message :" + defaultConstraintMessageTemplate);
			// 禁用默认提示信息
			context.disableDefaultConstraintViolation();
			// 设置提示语
			context.buildConstraintViolationWithTemplate("can not contains blank").addConstraintViolation();
			return false;
		}
		return true;
	}

}
